package com.gupaoedu.vip.mall.file.ceph;

import org.javaswift.joss.model.Container;
import org.javaswift.joss.model.StoredObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * Ceph文件上传下载工具类  交给容器管理
 */
@Component
public class FileHandler {

    @Autowired
    private Container container;

    /**
     * 上传文件
     * @param filename 文件名称
     * @param buffer   文件字节数组
     */
    public void upload(String filename,byte[] buffer){
        //根据文件名确定文件要上传的容器
        StoredObject object = container.getObject(filename); //获取容器对象
        object.uploadObject(buffer); //上传文件到容器
    }

    /**
     * 文件下载
     * @param filename  文件名
     * @return
     */
    public byte[] download(String filename){
        //根据文件名确定待下载文件所在容器
        StoredObject object = container.getObject(filename);//获取容器对象
        byte[] bytes = object.downloadObject(); //文件下载
        return bytes;
    }
}
